<?xml version="1.0" encoding="iso-8859-1" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:concentre="http://xforms.zensoluciones.com" exclude-result-prefixes="xhtml xi xforms ev">
	<xsl:output method="xml" omit-xml-declaration="no" version="1.0" indent="no" doctype-public="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" />
	<xsl:param name="concentre-path"/>
	<xsl:param name="concentre-useragent" />
	<xsl:param name="concentre-upload-ws">/upload</xsl:param>
	<!--xsl:include href="concentre_smb.xsl" />
<xsl:include href="concentre_entreprise.xsl" /-->

	<!--xsl:strip-space elements="*" /-->

        <xsl:template match="ev:listener">
                <span concentre="{concat('{',namespace-uri(),'}',local-name())}">
                        <xsl:copy-of select="@*"/>
                        <xsl:text>&#160;</xsl:text>
                </span>
        </xsl:template>


	<!-- XINCLUDE templates -->
	<xsl:template match="xi:include">
		<div concentre="{concat('{',namespace-uri(),'}',local-name())}">
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:attribute name="class">
				<xsl:text>concentre-xinclude-include</xsl:text>
				<xsl:if test="@class">
					<xsl:text> </xsl:text>
					<xsl:value-of select="@class"/>
				</xsl:if>
			</xsl:attribute>
			<xsl:text>&#160;</xsl:text>
			<xsl:apply-templates/>
		</div>
	</xsl:template>

	<xsl:template match="xi:fallback">
		<div concentre="{concat('{',namespace-uri(),'}',local-name())}">
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:attribute name="class">
				<xsl:text>concentre-xinclude-fallback</xsl:text>
				<xsl:if test="@class">
					<xsl:text> </xsl:text>
					<xsl:value-of select="@class"/>
				</xsl:if>
			</xsl:attribute>
			<xsl:apply-templates/>
		</div>
	</xsl:template>


	<!-- XFORMS 1.x templates -->
	<xsl:template match="xforms:output[xforms:label]">
		<div concentre="{concat('{',namespace-uri(),'}',local-name())}" class="concentre-xforms-output {@class}" >
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:apply-templates/>
			<span>
				<xsl:text>&#160;</xsl:text>
			</span>
		</div>
	</xsl:template>

	<xsl:template match="xforms:output">
		<span concentre="{concat('{',namespace-uri(),'}',local-name())}" class="concentre-xforms-output {@class}">
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:text>&#160;</xsl:text>
		</span>
	</xsl:template>


	<xsl:template match="xforms:input">
		<div concentre="{concat('{',namespace-uri(),'}',local-name())}" class="concentre-xforms-input {@class}" >
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:apply-templates/>
			<input type="text"/>
		</div>
	</xsl:template>

	<xsl:template match="xforms:secret">
		<div concentre="{concat('{',namespace-uri(),'}',local-name())}" class="concentre-xforms-secret {@class}">
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:apply-templates/>
			<input type="password"/>
		</div>
	</xsl:template>

	<xsl:template match="concentre:richtext">
		<div concentre="{concat('{',namespace-uri(),'}',local-name())}" class="concentre-xforms-input {@class}">
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:apply-templates/>
			<div class="richtextArea">
				<div class="container" tabindex="0">
					<iframe class="editor">Hello</iframe>
				</div>
			</div>
		</div>
	</xsl:template>


	<xsl:template match="xforms:textarea">
		<div concentre="{concat('{',namespace-uri(),'}',local-name())}" class="concentre-xforms-textarea {@class}">
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:apply-templates/>
			<textarea>&#160;</textarea>
		</div>
	</xsl:template>

	<xsl:template match="xforms:label">
		<label concentre="{concat('{',namespace-uri(),'}',local-name())}"  class="concentre-xforms-label {@class}" >
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:if test="not(text())">&#160;</xsl:if>
			<xsl:apply-templates/>
		</label>
	</xsl:template>

	<xsl:template match="xforms:submit/xforms:label|xforms:trigger/xforms:label">
			<span concentre="{concat('{',namespace-uri(),'}',local-name())}"  >
			<xsl:copy-of select="@*"/>
				<xsl:apply-templates/>
			</span>
	</xsl:template>

	<xsl:template match="xforms:model|xforms:instance">
		<span>
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:apply-templates/>
		</span>
	</xsl:template>


        <xsl:template match="xforms:hint">
                <div concentre="{concat('{',namespace-uri(),'}',local-name())}" class="concentre-xforms-hint" >
                        <xsl:copy-of select="@*[not(local-name()='class')]"/><div>
			<xsl:if test="not(text())">&#160;</xsl:if>
			<xsl:apply-templates/></div>
                </div>
        </xsl:template>


	<xsl:template match="xforms:group">
		<fieldset concentre="{concat('{',namespace-uri(),'}',local-name())}"  class="concentre-xforms-group {@class}">
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:apply-templates/>
		</fieldset>
	</xsl:template>

	<xsl:template match="xforms:group[@appearance='minimal']">
		<div concentre="{concat('{',namespace-uri(),'}',local-name(),'@appearance=minimal')}" class="concentre-xforms-group {@class}" >
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:apply-templates/>
		</div>
	</xsl:template>

	<xsl:template match="xforms:group/xforms:label">
		<legend concentre="{concat('{',namespace-uri(),'}',local-name())}"  class="concentre-xforms-label {@class}">
    	<xsl:copy-of select="@*[not(local-name()='class')]" />
      <xsl:if test="not(text())">&#160;</xsl:if>
    	<xsl:apply-templates/>
    </legend>
	</xsl:template>

	<xsl:template match="xforms:item/xforms:label">
			<xsl:copy-of select="@*[not(local-name()='class')]" />
			<xsl:if test="not(text())">&#160;</xsl:if>
			<xsl:apply-templates/>
	</xsl:template>


	<xsl:template match="xforms:submission"></xsl:template>

	<xsl:template match="xforms:repeat/xforms:label"/>

	<xsl:template match="xforms:repeat">
		<div concentre="{concat('{',namespace-uri(),'}',local-name())}" class="concentre-xforms-repeat {@class}">
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<div>
				<xsl:apply-templates/>
			</div>
		</div>
	</xsl:template>

	<xsl:template match="xforms:switch/xforms:label"/>

	<xsl:template match="xforms:switch">
		<div concentre="{concat('{',namespace-uri(),'}',local-name())}" class="concentre-xforms-switch {@class}">
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:apply-templates/>
		</div>
	</xsl:template>

	<xsl:template match="xforms:case">
		<div concentre="{concat('{',namespace-uri(),'}',local-name())}" class="concentre-xforms-case {@class}" >
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:apply-templates/>
		</div>
	</xsl:template>

	<xsl:template match="xforms:trigger|xforms:submit">
		<button concentre="{concat('{',namespace-uri(),'}',local-name())}"  tabindex="0">
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:attribute name="class">
				<xsl:text>concentre-xforms-trigger</xsl:text>
				<xsl:if test="@class">
					<xsl:text> </xsl:text>
					<xsl:value-of select="@class"/>
				</xsl:if>
			</xsl:attribute>
			<xsl:apply-templates />
		</button>
	</xsl:template>

	<xsl:template match="xforms:trigger[@appearance='compact']">
		<a href="javascript:null" concentre="{concat('{',namespace-uri(),'}',local-name(),'@appearance=compact')}" class="concentre-xforms-trigger-compact {@class}" >
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:apply-templates/>
		</a>
	</xsl:template>


	<xsl:template match="xforms:trigger[@appearance='minimal']">
		<span concentre="{concat('{',namespace-uri(),'}',local-name(),'@appearance=minimal')}" class="concentre-xforms-trigger-minimal {@class}" >
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:apply-templates/>
		</span>
	</xsl:template>


	<xsl:template match="xforms:select1[@appearance='minimal']">
		<div concentre="{concat('{',namespace-uri(),'}',local-name(),'@appearance=minimal')}" class="concentre-xforms-select1 {@class}" >
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:apply-templates select="xforms:label"/>
			<span class="selectArea" tabindex="0">
				<div class="left">
					<div class="right">...</div>
				</div>
			</span><br/>
			<div class="selectOptions">
				<xsl:call-template name="xforms-select-populate"/>
			</div>
		</div>
	</xsl:template>

	<xsl:template match="xforms:select[@appearance='minimal']">
		<div concentre="{concat('{',namespace-uri(),'}',local-name(),'@appearance=minimal')}" class="concentre-xforms-select {@class}" >
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:apply-templates select="xforms:label"/>
			<xsl:call-template name="xforms-select-populate"/>
		</div>
	</xsl:template>

	<xsl:template match="xforms:select1[@appearance='full']|xforms:select1">
		<div concentre="{concat('{',namespace-uri(),'}',local-name())}" class="concentre-xforms-select1 {@class}" >
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:apply-templates select="xforms:label"/>
			<span tabindex="0" class="select-full">
			<xsl:call-template name="xforms-select-populate-full">
				<xsl:with-param name="type">radio</xsl:with-param>
				<xsl:with-param name="mid" select="generate-id()"/>
			</xsl:call-template>
			</span>
		</div>
	</xsl:template>

	<xsl:template match="xforms:select[@appearance='full']|xforms:select">
		<div concentre="{concat('{',namespace-uri(),'}',local-name())}" class="concentre-xforms-select {@class}" >
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:apply-templates select="xforms:label"/>
			<span tabindex="0" class="select-full">
			<xsl:call-template name="xforms-select-populate-full">
				<xsl:with-param name="type">checkbox</xsl:with-param>
				<xsl:with-param name="mid" select="generate-id()"/>
			</xsl:call-template>
			</span>
		</div>
	</xsl:template>

	<xsl:template name="xforms-select-populate-full">
		<xsl:param name="type"/>
		<xsl:param name="mid"/>
			<xsl:for-each select="*">
				<xsl:choose>
					<xsl:when test="local-name()='choices'">
						<fieldset>
							<xsl:apply-templates select="xforms:label"/>
							<xsl:call-template name="xforms-select-populate-full">
								<xsl:with-param name="type" select="$type"/>
								<xsl:with-param name="mid" select="$mid"/>
							</xsl:call-template>
						</fieldset>
					</xsl:when>
					<xsl:when test="local-name()='itemset'">
						<span/>
					</xsl:when>
					<xsl:when test="local-name()='item'">
						<span id="{generate-id()}" option-value="{xforms:value}" concentre="{concat('{',namespace-uri(),'}',local-name())}" class="concentre-xforms-item-{$type} {@class}">
							<xsl:apply-templates select="xforms:label" />
						</span>
					</xsl:when>
				</xsl:choose>
			</xsl:for-each>
	</xsl:template>

	<xsl:template name="xforms-select-populate">
		<xsl:param name="mid"/>
		<xsl:for-each select="*">
			<xsl:choose>
				<xsl:when test="local-name()='choices'">
					<div class="optionsGroup">
						<span>
							<xsl:apply-templates />
						</span>
						<xsl:call-template name="xforms-select-populate">
							<xsl:with-param name="mid" select="$mid"/>
						</xsl:call-template>
					</div>
				</xsl:when>
				<xsl:when test="local-name()='itemset'">
					<xsl:call-template name="xforms-itemset"/>
				</xsl:when>
				<xsl:when test="local-name()='item'">
					<div option-value="{xforms:value}" concentre="{concat('{',namespace-uri(),'}',local-name())}" class="concentre-xforms-item-list {@class}" >
						<xsl:apply-templates select="xforms:label" />
					</div>
				</xsl:when>
			</xsl:choose>
		</xsl:for-each>
	</xsl:template>

	<xsl:template match="xforms:choices[not(../@appearance) or ../@appearance='full']/xforms:label">
		<legend>
			<xsl:value-of select="."/>
		</legend>
	</xsl:template>

	<xsl:template name="xforms-itemset">
		<div concentre="{concat('{',namespace-uri(),'}',local-name())}">
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:attribute name="class">
				<xsl:text>concentre-xforms-itemset</xsl:text>
				<xsl:if test="@class">
					<xsl:text> </xsl:text>
					<xsl:value-of select="@class"/>
				</xsl:if>
			</xsl:attribute>
			<xsl:for-each select="child::*">
				<xsl:attribute name="{local-name()}-ref">
					<xsl:value-of select="@ref"/>
				</xsl:attribute>
			</xsl:for-each>
			<xsl:text>...</xsl:text>

		</div>
	</xsl:template>

	<xsl:template match="xforms:itemset/xforms:value">
value+
</xsl:template>


	<xsl:template match="xforms:item"/>

	<xsl:template match="xforms:range">
		<div concentre="{concat('{',namespace-uri(),'}',local-name())}" class="concentre-xforms-range {@class}">
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:apply-templates/>
			<div class="rangeArea" tabindex="0">
				<div class="line">&#160;</div>
				<div class="handle">&#160;</div>
			</div>
		</div>
	</xsl:template>

	<xsl:template match="xforms:upload">
		<div form="{generate-id()}_form"  concentre="{concat('{',namespace-uri(),'}',local-name())}" class="concentre-xforms-upload {@class}">
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:apply-templates/>
			<form method="POST" action="{$concentre-upload-ws}" enctype="multipart/form-data" name="{generate-id()}_form" id="{generate-id()}_form" target="{generate-id()}_iframe">
				<input type="file" name="file"/>
				<div name="{generate-id()}_indicator" class="indicator">&#160;</div>
				<iframe name="{generate-id()}_iframe" id="{generate-id()}_iframe" src="">&#160;</iframe>
			</form>
		</div>
	</xsl:template>


	<xsl:template match="xforms:*">
		<span concentre="{concat('{',namespace-uri(),'}',local-name())}" class="concentre-xforms-action">
		  <xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:apply-templates/>&#160;
		</span>
	</xsl:template>


	<xsl:template match="ev:listener">
		<span concentre="{concat('{',namespace-uri(),'}',local-name())}" class="concentre-xmlevents-listener">
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:apply-templates/>
		</span>
	</xsl:template>

	<xsl:template match="xhtml:*[@xforms:repeat-nodeset]">
		<xsl:copy>
			<xsl:attribute name="nodeset">
				<xsl:value-of select="@xforms:repeat-nodeset"/>
			</xsl:attribute>
			<xsl:copy-of select="@*[not(local-name()='class')]"/>
			<xsl:attribute name="class">
				<xsl:text>concentre-xforms-repeat</xsl:text>
				<xsl:if test="@class">
					<xsl:text> </xsl:text>
					<xsl:value-of select="@class"/>
				</xsl:if>
			</xsl:attribute>
			<xsl:apply-templates/>
		</xsl:copy>
	</xsl:template>

	<xsl:template match="@*|*|text()">
        <xsl:copy-of select="." />
	</xsl:template>
	
	<xsl:template match="xhtml:*">
		<xsl:copy>
		    
			<xsl:copy-of select="@*" />
			<xsl:apply-templates/>
		</xsl:copy>
	</xsl:template>
	

</xsl:stylesheet>
